using dnAnalytics.Math;
using NUnit.Framework;

namespace dnAnalytics.Tests.Math
{
    [TestFixture]
    public class ComplexMath_DivideTest
    {
        [Test]
        public void Divide()
        {
            Complex a = new Complex(1.19209289550780998537e-7, 1.19209289550780998537e-7);
            Complex b = new Complex(1.19209289550780998537e-7, 1.19209289550780998537e-7);
            TestHelper.TestSignificantDigits(a / b, new Complex(1.0, 0.0), 15);
            a = new Complex(0.0, 1.19209289550780998537e-7);
            b = new Complex(0.0, -1.19209289550780998537e-7);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(0.0, -1.19209289550780998537e-7);
            b = new Complex(0.0, 5.0e-1);
            TestHelper.TestSignificantDigits(a / b, new Complex(-2.38418579101561997074e-7, 0.0), 15);
            a = new Complex(0.0, 5.0e-1);
            b = new Complex(0.0, -5.0e-1);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(0.0, -5.0e-1);
            b = new Complex(0.0, 1.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-5.0e-1, 0.0), 15);
            a = new Complex(0.0, 1.0);
            b = new Complex(0.0, -1.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(0.0, -1.0);
            b = new Complex(0.0, 2.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-5.0e-1, 0.0), 15);
            a = new Complex(0.0, 2.0);
            b = new Complex(0.0, -2.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(0.0, -2.0);
            b = new Complex(0.0, 8.388608e6);
            TestHelper.TestSignificantDigits(a / b, new Complex(-2.384185791015625e-7, 0.0), 15);
            a = new Complex(0.0, 8.388608e6);
            b = new Complex(0.0, -8.388608e6);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(0.0, -8.388608e6);
            b = new Complex(1.19209289550780998537e-7, 0.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(0.0, -7.03687441776641484375e13), 15);
            a = new Complex(1.19209289550780998537e-7, 0.0);
            b = new Complex(-1.19209289550780998537e-7, 0.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-1.19209289550780998537e-7, 0.0);
            b = new Complex(1.19209289550780998537e-7, 1.19209289550780998537e-7);
            TestHelper.TestSignificantDigits(a / b, new Complex(-5.0e-1, 5.0e-1), 15);
            a = new Complex(1.19209289550780998537e-7, 1.19209289550780998537e-7);
            b = new Complex(1.19209289550780998537e-7, -1.19209289550780998537e-7);
            TestHelper.TestSignificantDigits(a / b, new Complex(0.0, 1.0), 15);
            a = new Complex(1.19209289550780998537e-7, -1.19209289550780998537e-7);
            b = new Complex(-1.19209289550780998537e-7, 1.19209289550780998537e-7);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-1.19209289550780998537e-7, 1.19209289550780998537e-7);
            b = new Complex(-1.19209289550780998537e-7, -1.19209289550780998537e-7);
            TestHelper.TestSignificantDigits(a / b, new Complex(0.0, -1.0), 15);
            a = new Complex(-1.19209289550780998537e-7, -1.19209289550780998537e-7);
            b = new Complex(1.19209289550780998537e-7, 5.0e-1);
            TestHelper.TestSignificantDigits(a / b, new Complex(-2.38418635944967305352e-7, 2.38418522258129583742e-7), 15);
            a = new Complex(1.19209289550780998537e-7, 5.0e-1);
            b = new Complex(1.19209289550780998537e-7, -5.0e-1);
            TestHelper.TestSignificantDigits(a / b, new Complex(-9.99999999999886313162e-1, 4.76837158203096889094e-7), 15);
            a = new Complex(1.19209289550780998537e-7, -5.0e-1);
            b = new Complex(-1.19209289550780998537e-7, 5.0e-1);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-1.19209289550780998537e-7, 5.0e-1);
            b = new Complex(-1.19209289550780998537e-7, -5.0e-1);
            TestHelper.TestSignificantDigits(a / b, new Complex(-9.99999999999886313162e-1, -4.76837158203096889094e-7), 15);
            a = new Complex(-1.19209289550780998537e-7, -5.0e-1);
            b = new Complex(1.19209289550780998537e-7, 1.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-5.00000000000007105427e-1, 5.96046447753896522356e-8), 15);
            a = new Complex(1.19209289550780998537e-7, 1.0);
            b = new Complex(1.19209289550780998537e-7, -1.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-9.99999999999971578291e-1, 2.38418579101558608942e-7), 15);
            a = new Complex(1.19209289550780998537e-7, -1.0);
            b = new Complex(-1.19209289550780998537e-7, 1.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-1.19209289550780998537e-7, 1.0);
            b = new Complex(-1.19209289550780998537e-7, -1.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-9.99999999999971578291e-1, -2.38418579101558608942e-7), 15);
            a = new Complex(-1.19209289550780998537e-7, -1.0);
            b = new Complex(1.19209289550780998537e-7, 2.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-5.00000000000001776357e-1, 2.98023223876951437552e-8), 15);
            a = new Complex(1.19209289550780998537e-7, 2.0);
            b = new Complex(1.19209289550780998537e-7, -2.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-9.99999999999992894573e-1, 1.19209289550780575021e-7), 15);
            a = new Complex(1.19209289550780998537e-7, -2.0);
            b = new Complex(-1.19209289550780998537e-7, 2.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-1.19209289550780998537e-7, 2.0);
            b = new Complex(-1.19209289550780998537e-7, -2.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-9.99999999999992894573e-1, -1.19209289550780575021e-7), 15);
            a = new Complex(-1.19209289550780998537e-7, -2.0);
            b = new Complex(1.19209289550780998537e-7, 8.388608e6);
            TestHelper.TestSignificantDigits(a / b, new Complex(-2.384185791015625e-7, 1.42108513270701847235e-14), 15);
            a = new Complex(1.19209289550780998537e-7, 8.388608e6);
            b = new Complex(1.19209289550780998537e-7, -8.388608e6);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 2.84217094304039474814e-14), 15);
            a = new Complex(1.19209289550780998537e-7, -8.388608e6);
            b = new Complex(-1.19209289550780998537e-7, 8.388608e6);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-1.19209289550780998537e-7, 8.388608e6);
            b = new Complex(-1.19209289550780998537e-7, -8.388608e6);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, -2.84217094304039474814e-14), 15);
            a = new Complex(-1.19209289550780998537e-7, -8.388608e6);
            b = new Complex(5.0e-1, 0.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-2.38418579101561997074e-7, -1.6777216e7), 15);
            a = new Complex(5.0e-1, 0.0);
            b = new Complex(-5.0e-1, 0.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-5.0e-1, 0.0);
            b = new Complex(5.0e-1, 1.19209289550780998537e-7);
            TestHelper.TestSignificantDigits(a / b, new Complex(-9.99999999999943156581e-1, 2.38418579101548444547e-7), 15);
            a = new Complex(5.0e-1, 1.19209289550780998537e-7);
            b = new Complex(5.0e-1, -1.19209289550780998537e-7);
            TestHelper.TestSignificantDigits(a / b, new Complex(9.99999999999886313162e-1, 4.76837158203096889094e-7), 15);
            a = new Complex(5.0e-1, -1.19209289550780998537e-7);
            b = new Complex(-5.0e-1, 1.19209289550780998537e-7);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-5.0e-1, 1.19209289550780998537e-7);
            b = new Complex(-5.0e-1, -1.19209289550780998537e-7);
            TestHelper.TestSignificantDigits(a / b, new Complex(9.99999999999886313162e-1, -4.76837158203096889094e-7), 15);
            a = new Complex(-5.0e-1, -1.19209289550780998537e-7);
            b = new Complex(5.0e-1, 5.0e-1);
            TestHelper.TestSignificantDigits(a / b, new Complex(-5.00000119209289550781e-1, 4.99999880790710449219e-1), 15);
            a = new Complex(5.0e-1, 5.0e-1);
            b = new Complex(5.0e-1, -5.0e-1);
            TestHelper.TestSignificantDigits(a / b, new Complex(0.0, 1.0), 15);
            a = new Complex(5.0e-1, -5.0e-1);
            b = new Complex(-5.0e-1, 5.0e-1);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-5.0e-1, 5.0e-1);
            b = new Complex(-5.0e-1, -5.0e-1);
            TestHelper.TestSignificantDigits(a / b, new Complex(0.0, -1.0), 15);
            a = new Complex(-5.0e-1, -5.0e-1);
            b = new Complex(5.0e-1, 1.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-6.0e-1, 2.0e-1), 15);
            a = new Complex(5.0e-1, 1.0);
            b = new Complex(5.0e-1, -1.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-6.0e-1, 8.0e-1), 15);
            a = new Complex(5.0e-1, -1.0);
            b = new Complex(-5.0e-1, 1.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-5.0e-1, 1.0);
            b = new Complex(-5.0e-1, -1.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-6.0e-1, -8.0e-1), 15);
            a = new Complex(-5.0e-1, -1.0);
            b = new Complex(5.0e-1, 2.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-5.29411764705882352941e-1, 1.17647058823529411765e-1), 15);
            a = new Complex(5.0e-1, 2.0);
            b = new Complex(5.0e-1, -2.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-8.82352941176470588235e-1, 4.70588235294117647059e-1), 15);
            a = new Complex(5.0e-1, -2.0);
            b = new Complex(-5.0e-1, 2.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-5.0e-1, 2.0);
            b = new Complex(-5.0e-1, -2.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-8.82352941176470588235e-1, -4.70588235294117647059e-1), 15);
            a = new Complex(-5.0e-1, -2.0);
            b = new Complex(5.0e-1, 8.388608e6);
            TestHelper.TestSignificantDigits(a / b, new Complex(-2.38418582654275331768e-7, 5.96046305645356980398e-8), 15);
            a = new Complex(5.0e-1, 8.388608e6);
            b = new Complex(5.0e-1, -8.388608e6);
            TestHelper.TestSignificantDigits(a / b, new Complex(-9.99999999999992894573e-1, 1.19209289550780826484e-7), 15);
            a = new Complex(5.0e-1, -8.388608e6);
            b = new Complex(-5.0e-1, 8.388608e6);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-5.0e-1, 8.388608e6);
            b = new Complex(-5.0e-1, -8.388608e6);
            TestHelper.TestSignificantDigits(a / b, new Complex(-9.99999999999992894573e-1, -1.19209289550780826484e-7), 15);
            a = new Complex(-5.0e-1, -8.388608e6);
            b = new Complex(1.0, 0.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-5.0e-1, -8.388608e6), 15);
            a = new Complex(1.0, 0.0);
            b = new Complex(-1.0, 0.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-1.0, 0.0);
            b = new Complex(1.0, 1.19209289550780998537e-7);
            TestHelper.TestSignificantDigits(a / b, new Complex(-9.99999999999985789145e-1, 1.19209289550779304471e-7), 15);
            a = new Complex(1.0, 1.19209289550780998537e-7);
            b = new Complex(1.0, -1.19209289550780998537e-7);
            TestHelper.TestSignificantDigits(a / b, new Complex(9.99999999999971578291e-1, 2.38418579101558608942e-7), 15);
            a = new Complex(1.0, -1.19209289550780998537e-7);
            b = new Complex(-1.0, 1.19209289550780998537e-7);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-1.0, 1.19209289550780998537e-7);
            b = new Complex(-1.0, -1.19209289550780998537e-7);
            TestHelper.TestSignificantDigits(a / b, new Complex(9.99999999999971578291e-1, -2.38418579101558608942e-7), 15);
            a = new Complex(-1.0, -1.19209289550780998537e-7);
            b = new Complex(1.0, 5.0e-1);
            TestHelper.TestSignificantDigits(a / b, new Complex(-8.00000047683715820312e-1, 3.99999904632568359375e-1), 15);
            a = new Complex(1.0, 5.0e-1);
            b = new Complex(1.0, -5.0e-1);
            TestHelper.TestSignificantDigits(a / b, new Complex(6.0e-1, 8.0e-1), 15);
            a = new Complex(1.0, -5.0e-1);
            b = new Complex(-1.0, 5.0e-1);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-1.0, 5.0e-1);
            b = new Complex(-1.0, -5.0e-1);
            TestHelper.TestSignificantDigits(a / b, new Complex(6.0e-1, -8.0e-1), 15);
            a = new Complex(-1.0, -5.0e-1);
            b = new Complex(1.0, 1.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-7.5e-1, 2.5e-1), 15);
            a = new Complex(1.0, 1.0);
            b = new Complex(1.0, -1.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(0.0, 1.0), 15);
            a = new Complex(1.0, -1.0);
            b = new Complex(-1.0, 1.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-1.0, 1.0);
            b = new Complex(-1.0, -1.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(0.0, -1.0), 15);
            a = new Complex(-1.0, -1.0);
            b = new Complex(1.0, 2.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-6.0e-1, 2.0e-1), 15);
            a = new Complex(1.0, 2.0);
            b = new Complex(1.0, -2.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-6.0e-1, 8.0e-1), 15);
            a = new Complex(1.0, -2.0);
            b = new Complex(-1.0, 2.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-1.0, 2.0);
            b = new Complex(-1.0, -2.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-6.0e-1, -8.0e-1), 15);
            a = new Complex(-1.0, -2.0);
            b = new Complex(1.0, 8.388608e6);
            TestHelper.TestSignificantDigits(a / b, new Complex(-2.3841859331241382707e-7, 1.19209261129070125531e-7), 15);
            a = new Complex(1.0, 8.388608e6);
            b = new Complex(1.0, -8.388608e6);
            TestHelper.TestSignificantDigits(a / b, new Complex(-9.99999999999971578291e-1, 2.38418579101559111868e-7), 15);
            a = new Complex(1.0, -8.388608e6);
            b = new Complex(-1.0, 8.388608e6);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-1.0, 8.388608e6);
            b = new Complex(-1.0, -8.388608e6);
            TestHelper.TestSignificantDigits(a / b, new Complex(-9.99999999999971578291e-1, -2.38418579101559111868e-7), 15);
            a = new Complex(-1.0, -8.388608e6);
            b = new Complex(2.0, 0.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-5.0e-1, -4.194304e6), 15);
            a = new Complex(2.0, 0.0);
            b = new Complex(-2.0, 0.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-2.0, 0.0);
            b = new Complex(2.0, 1.19209289550780998537e-7);
            TestHelper.TestSignificantDigits(a / b, new Complex(-9.99999999999996447286e-1, 5.96046447753902875103e-8), 15);
            a = new Complex(2.0, 1.19209289550780998537e-7);
            b = new Complex(2.0, -1.19209289550780998537e-7);
            TestHelper.TestSignificantDigits(a / b, new Complex(9.99999999999992894573e-1, 1.19209289550780575021e-7), 15);
            a = new Complex(2.0, -1.19209289550780998537e-7);
            b = new Complex(-2.0, 1.19209289550780998537e-7);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-2.0, 1.19209289550780998537e-7);
            b = new Complex(-2.0, -1.19209289550780998537e-7);
            TestHelper.TestSignificantDigits(a / b, new Complex(9.99999999999992894573e-1, -1.19209289550780575021e-7), 15);
            a = new Complex(-2.0, -1.19209289550780998537e-7);
            b = new Complex(2.0, 5.0e-1);
            TestHelper.TestSignificantDigits(a / b, new Complex(-9.4117648461285759421e-1, 2.35294061548569623162e-1), 15);
            a = new Complex(2.0, 5.0e-1);
            b = new Complex(2.0, -5.0e-1);
            TestHelper.TestSignificantDigits(a / b, new Complex(8.82352941176470588235e-1, 4.70588235294117647059e-1), 15);
            a = new Complex(2.0, -5.0e-1);
            b = new Complex(-2.0, 5.0e-1);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-2.0, 5.0e-1);
            b = new Complex(-2.0, -5.0e-1);
            TestHelper.TestSignificantDigits(a / b, new Complex(8.82352941176470588235e-1, -4.70588235294117647059e-1), 15);
            a = new Complex(-2.0, -5.0e-1);
            b = new Complex(2.0, 1.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-9.0e-1, 2.0e-1), 15);
            a = new Complex(2.0, 1.0);
            b = new Complex(2.0, -1.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(6.0e-1, 8.0e-1), 15);
            a = new Complex(2.0, -1.0);
            b = new Complex(-2.0, 1.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-2.0, 1.0);
            b = new Complex(-2.0, -1.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(6.0e-1, -8.0e-1), 15);
            a = new Complex(-2.0, -1.0);
            b = new Complex(2.0, 2.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-7.5e-1, 2.5e-1), 15);
            a = new Complex(2.0, 2.0);
            b = new Complex(2.0, -2.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(0.0, 1.0), 15);
            a = new Complex(2.0, -2.0);
            b = new Complex(-2.0, 2.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-2.0, 2.0);
            b = new Complex(-2.0, -2.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(0.0, -1.0), 15);
            a = new Complex(-2.0, -2.0);
            b = new Complex(2.0, 8.388608e6);
            TestHelper.TestSignificantDigits(a / b, new Complex(-2.38418635944967808278e-7, 2.38418522258130086668e-7), 15);
            a = new Complex(2.0, 8.388608e6);
            b = new Complex(2.0, -8.388608e6);
            TestHelper.TestSignificantDigits(a / b, new Complex(-9.99999999999886313162e-1, 4.76837158203097894946e-7), 15);
            a = new Complex(2.0, -8.388608e6);
            b = new Complex(-2.0, 8.388608e6);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-2.0, 8.388608e6);
            b = new Complex(-2.0, -8.388608e6);
            TestHelper.TestSignificantDigits(a / b, new Complex(-9.99999999999886313162e-1, -4.76837158203097894946e-7), 15);
            a = new Complex(-2.0, -8.388608e6);
            b = new Complex(8.388608e6, 0.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-2.384185791015625e-7, -1.0), 15);
            a = new Complex(8.388608e6, 0.0);
            b = new Complex(-8.388608e6, 0.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-8.388608e6, 0.0);
            b = new Complex(8.388608e6, 1.19209289550780998537e-7);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 1.42108547152019737407e-14), 15);
            a = new Complex(8.388608e6, 1.19209289550780998537e-7);
            b = new Complex(8.388608e6, -1.19209289550780998537e-7);
            TestHelper.TestSignificantDigits(a / b, new Complex(1.0, 2.84217094304039474814e-14), 15);
            a = new Complex(8.388608e6, -1.19209289550780998537e-7);
            b = new Complex(-8.388608e6, 1.19209289550780998537e-7);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-8.388608e6, 1.19209289550780998537e-7);
            b = new Complex(-8.388608e6, -1.19209289550780998537e-7);
            TestHelper.TestSignificantDigits(a / b, new Complex(1.0, -2.84217094304039474814e-14), 15);
            a = new Complex(-8.388608e6, -1.19209289550780998537e-7);
            b = new Complex(8.388608e6, 5.0e-1);
            TestHelper.TestSignificantDigits(a / b, new Complex(-9.99999999999996447287e-1, 5.96046305645356980398e-8), 15);
            a = new Complex(8.388608e6, 5.0e-1);
            b = new Complex(8.388608e6, -5.0e-1);
            TestHelper.TestSignificantDigits(a / b, new Complex(9.99999999999992894573e-1, 1.19209289550780826484e-7), 15);
            a = new Complex(8.388608e6, -5.0e-1);
            b = new Complex(-8.388608e6, 5.0e-1);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-8.388608e6, 5.0e-1);
            b = new Complex(-8.388608e6, -5.0e-1);
            TestHelper.TestSignificantDigits(a / b, new Complex(9.99999999999992894573e-1, -1.19209289550780826484e-7), 15);
            a = new Complex(-8.388608e6, -5.0e-1);
            b = new Complex(8.388608e6, 1.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-9.99999999999992894573e-1, 5.96046447753897779671e-8), 15);
            a = new Complex(8.388608e6, 1.0);
            b = new Complex(8.388608e6, -1.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(9.99999999999971578291e-1, 2.38418579101559111868e-7), 15);
            a = new Complex(8.388608e6, -1.0);
            b = new Complex(-8.388608e6, 1.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-8.388608e6, 1.0);
            b = new Complex(-8.388608e6, -1.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(9.99999999999971578291e-1, -2.38418579101559111868e-7), 15);
            a = new Complex(-8.388608e6, -1.0);
            b = new Complex(8.388608e6, 2.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-9.99999999999971578291e-1, 1.19209289550774473736e-7), 15);
            a = new Complex(8.388608e6, 2.0);
            b = new Complex(8.388608e6, -2.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(9.99999999999886313162e-1, 4.76837158203097894946e-7), 15);
            a = new Complex(8.388608e6, -2.0);
            b = new Complex(-8.388608e6, 2.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-8.388608e6, 2.0);
            b = new Complex(-8.388608e6, -2.0);
            TestHelper.TestSignificantDigits(a / b, new Complex(9.99999999999886313162e-1, -4.76837158203097894946e-7), 15);
            a = new Complex(-8.388608e6, -2.0);
            b = new Complex(8.388608e6, 8.388608e6);
            TestHelper.TestSignificantDigits(a / b, new Complex(-5.00000119209289550781e-1, 4.99999880790710449219e-1), 15);
            a = new Complex(8.388608e6, 8.388608e6);
            b = new Complex(8.388608e6, -8.388608e6);
            TestHelper.TestSignificantDigits(a / b, new Complex(0.0, 1.0), 15);
            a = new Complex(8.388608e6, -8.388608e6);
            b = new Complex(-8.388608e6, 8.388608e6);
            TestHelper.TestSignificantDigits(a / b, new Complex(-1.0, 0.0), 15);
            a = new Complex(-8.388608e6, 8.388608e6);
            b = new Complex(-8.388608e6, -8.388608e6);
            TestHelper.TestSignificantDigits(a / b, new Complex(0.0, -1.0), 15);
            a = new Complex(-8.388608e6, -8.388608e6);
            b = new Complex(0.0, 1.19209289550780998537e-7);
            TestHelper.TestSignificantDigits(a / b, new Complex(-7.03687441776641484375e13, 7.03687441776641484375e13), 15);
        }
    }
}